package com.me.mysqladmin.util;

import java.util.List;

import org.springframework.util.Assert;

/**
 * List操作工具类
 * @author dong
 */
public class ListUtil {
	/**
	 * 获取集合中的任意一个元素，若为空集合，则实例化一个元素返回
	 * @param list
	 */
	public static <T> Object getElement(List<?> list, Class<T> elementType){
		Assert.notNull(list);
		Assert.notNull(elementType);
		if(list.size() == 0){
			return BeanUtil.getInstance(elementType);
		} else{
			return list.get(0);
		}
	}
	
	/**
	 * 去除集合中的空值，包括空字符串
	 * @param list
	 */
	public static void removeNullVal(List<?> list){
		Assert.notNull(list);
		for(int i = 0; i < list.size(); i++){
			if(NullUtil.isNull(list.get(i))){
				list.remove(i);
			}
		}
	}
	
	/**
	 * 截取集合的前n个
	 */
	public static void subList(List<?> list, int n){
		Assert.notNull(list);
		if(n >= list.size()){
			return;
		}
		for(int index = n; index < list.size(); index++){
			list.remove(index);
			index--;
		}
	}
}
